/**
 ****************************************************************************************************
 * @file        key.h
 * @author      嵌入式小书虫
 * @version     V1.0
 * @date        2020-04-17
 * @brief       key 驱动代码
 ****************************************************************************************************
 *
 * 修改说明
 * V1.0 20200417
 * 第一次发布
 <欢迎关注微信公众号：嵌入式小书虫>
 *
 ****************************************************************************************************
 */

#ifndef _KEY_H
#define _KEY_H
#include "./SYSTEM/sys/sys.h"
#include "./SYSTEM/delay/delay.h"


#define TM1668_CLK_GPIO_PORT                  GPIOE
#define TM1668_CLK_GPIO_PIN                   GPIO_PIN_3

#define TM1668_SDA_GPIO_PORT                  GPIOE
#define TM1668_SDA_GPIO_PIN                   GPIO_PIN_4

#define TM1668_STB_GPIO_PORT                  GPIOE
#define TM1668_STB_GPIO_PIN                   GPIO_PIN_2




#define TM1668_CLK_LOW  HAL_GPIO_WritePin(TM1668_CLK_GPIO_PORT, TM1668_CLK_GPIO_PIN, GPIO_PIN_RESET)
#define TM1668_CLK_HIGH  HAL_GPIO_WritePin(TM1668_CLK_GPIO_PORT, TM1668_CLK_GPIO_PIN, GPIO_PIN_SET)

#define TM1668_SDA_LOW  HAL_GPIO_WritePin(TM1668_SDA_GPIO_PORT, TM1668_SDA_GPIO_PIN, GPIO_PIN_RESET)
#define TM1668_SDA_HIGH  HAL_GPIO_WritePin(TM1668_SDA_GPIO_PORT, TM1668_SDA_GPIO_PIN, GPIO_PIN_SET)

#define READ_SDA HAL_GPIO_ReadPin(TM1668_SDA_GPIO_PORT,TM1668_SDA_GPIO_PIN)

#define TM1668_STB_LOW  HAL_GPIO_WritePin(TM1668_STB_GPIO_PORT, TM1668_STB_GPIO_PIN, GPIO_PIN_RESET)
#define TM1668_STB_HIGH  HAL_GPIO_WritePin(TM1668_STB_GPIO_PORT, TM1668_STB_GPIO_PIN, GPIO_PIN_SET)

void TM1688_GPIO_init();
uint8_t KEY_Scan(uint8_t mode);
/******************************************************************************************/

#endif
